package it.win4buy.events
{
    /**
     *
     *	autore:
     *  pierangelo.mancusi@gmail.com
     *
     */

    import flash.events.Event;

    public class NavigationEvent extends Event
    {

        /**
         *Used to show the ALERT_VIEW
         */
        public static const VIEW_AC_ALERT:String="NavigationEvent.VIEW_AC_ALERT";


        /**
         *  Used to go to the PLAY VIEW
         */
        public static const VIEW_AC_PLAY:String="NavigationEvent.VIEW_AC_PLAY";


        /**
         * Used to goto the PLACEHOLDER_VIEW
         */
        public static const VIEW_AC_PLACEHOLDER:String="NavigationEvent.VIEW_AC_PLACEHOLDER";

        /**
         *PlaceHolder MAIN View
         */
        public static const VIEW_PLACEHOLDER_MAIN:String="NavigationEvent.VIEW_PLACEHOLDER_MAIN";

        /**
         *PlaceHolder Alert View
         */
        public static const VIEW_PLACEHOLDER_ALERT:String="NavigationEvent.VIEW_PLACEHOLDER_ALERT";

        /**
         *PlaceHolder Alert View
         */
        public static const VIEW_PLACEHOLDER_DEREGISTER:String="NavigationEvent.VIEW_PLACEHOLDER_DEREGISTER";

        /**
         * PlayVIEW Alert state
         */
        public static const VIEW_PLAY_ALERT:String="NavigationEvent.VIEW_PLAY_ALERT";

        /**
         *PlayView Main state
         */
        public static const VIEW_PLAY_MAIN:String="NavigationEvent.VIEW_PLAY_MAIN";



        //-------------------------------------------
        //
        // private properties
        //
        //-------------------------------------------

        private var _obj:Object;


        //-------------------------------------------
        //
        // Getters / Setters
        //
        //-------------------------------------------


        /**
         *
         * Object routeswith the event.
         *
         */
        public function get obj():Object
        {
            return _obj;
        }

        public function set obj(value:Object):void
        {
            _obj=value;
        }


        //-------------------------------------------
        //
        // Constructor
        //
        //-------------------------------------------

        public function NavigationEvent(type:String, obj:Object=null, bubbles:Boolean=false, cancelable:Boolean=false)
        {
            super(type, bubbles, cancelable);
            this.obj=obj;
        }



        //-------------------------------------------
        //
        // Override Methods
        //
        //-------------------------------------------

        override public function clone():Event
        {
            return new NavigationEvent(type, obj, bubbles, cancelable);
        }

    }
}